Programmable logic devices are semiconductor integrated circuits, data of which may be rewritten after the manufacture of chips. The programmable logic devices are used in such circuits as field programmable gate arrays (FPGA), which may need to be reconfigured with respect to arithmetic processing circuits and wiring circuits. A programmable logic device includes multiple wiring lines, two of which are selected to be electrically connected or disconnected. A switching circuit is used to control the connection or disconnection of the selected two wiring lines. The switching circuit includes a memory such as a nonvolatile memory using nonvolatile memory elements, for example one time programmable (OTP) memory elements, as storage elements. The nonvolatile memory has a crossbar array structure, for example, and includes a first wiring line, a second wiring line crossing the first wiring line, and a nonvolatile memory element disposed to an intersection region of the first wiring line and the second wiring line. The nonvolatile memory element may be a transistor having a two-terminal configuration, in which a source terminal and a drain terminal are electrically connected to each other, and the source and drain terminals are connected to the first wiring line, and a gate terminal is connected to the second wiring line.
The transistor having the two-terminal configuration may be brought into a low resistance state by applying a voltage between the gate terminal and the source and drain terminals to break the gate insulating film. Using the transistor with the two-terminal configuration as the OTP memory element may arise a problem of a delay in operation speed of the FPGA, as will be described later.